Generally data processing apparatus are tuned to operate within safe limits to such that the voltage level and clocking frequency are held at levels where errors should not occur. This requires a safe limit to be built into these parameters so that no errors occur for any corner cases during a reasonable length of lifetime of the device. An alternative approach is provided by a razor-based system produced by ARM® Limited of Cambridge England. This is a system that is designed to operate at a point beyond this estimated absolute safe limit. The system has an error detection and recovery means to recover from cases where the signal does not reach the output in time. This system has a speculation region at the end of the clock cycle during which the output signal is measured to see if it is stable. Thus, provided any output signal attains its final value within this region, this will be detected, and if this final value is not the value at the end of the clock cycle, this can be determined and corrected. As it has this error detecting and correcting capability, the system does not need to put in the usual safety margins. In effect it can tune its operational voltage and/or frequency to be in a range where errors are unlikely but may occur.
Although this has the advantage of not requiring safety margins, clearly the operating region must be limited to some extent as if errors become too frequent then any savings due to operating beyond conventional safety margins are outweighed by the additional time and power required to recover from the errors. These razor systems may therefore be built with operating limits but these limits occur in a region where errors may occur but are rare.
It would be desirable to be able to limit the frequency of errors and the costs of recovering from them.